home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 2004 #9
/
Amiga Plus CD - 2004 - No. 09.iso
/
amigaplus
/
tools
/
dev_libs
/
feelin040718
/
sources
/
shade
/
project.c
< prev
next >
Wrap
C/C++ Source or Header
|
2004-08-03
|
3KB
|
129 lines
;/*
F_Create.rexx LIB Feelin:LIBS/Feelin/Shade.fc 3 10
QUIT
________________________________________________________________________
(03.10) 2003/08/19
[IMP] All gadgets rendering are now buffered (if possible), and not only
the title bar. The FC_TextDisplay object used by the title bar is no
longer created on the fly when the title bar need to be drawn, but
create on FM_Setup. The preparse string are now resolved with preference
items "FP_Decorator_PreParse" & "FP_Decorator_AltPreParse".
*/
#include "Private.h"
struct FeelinBase *FeelinBase;
struct FeelinClass *GadgetClass;
ULONG FC_Area_Offset;
ULONG FC_Gadget_Offset;
///METHODS
F_METHOD(void,Gad_New);
F_METHOD(void,Gad_Setup);
F_METHOD(void,Gad_Cleanup);
F_METHOD(void,Gad_Show);
F_METHOD(void,Gad_Hide);
F_METHOD(void,Gad_Layout);
F_METHOD(void,Gad_Draw);
F_METHOD(void,Gad_HandleEvent);
F_METHOD(void,Shade_New);
F_METHOD(void,Shade_Get);
F_METHOD(void,Shade_Setup);
F_METHOD(void,Shade_Cleanup);
F_METHOD(void,Shade_Show);
F_METHOD(void,Shade_Layout);
F_METHOD(void,Shade_Draw);
F_METHOD(void,Shade_GoActive);
F_METHOD(void,Shade_GoInactive);
//+
///EXIT
F_EXIT()
{
F_DeleteClass(GadgetClass); GadgetClass = NULL;
}
//+
///INIT
F_INIT()
{
static struct FeelinMethodEntry Handlers[] =
{
(FMethod) Gad_New, NULL, FM_New,
(FMethod) Gad_Setup, NULL, FM_Setup,
(FMethod) Gad_Cleanup, NULL, FM_Cleanup,
(FMethod) Gad_Show, NULL, FM_Show,
(FMethod) Gad_Hide, NULL, FM_Hide,
(FMethod) Gad_Draw, NULL, FM_Draw,
(FMethod) Gad_Layout, NULL, FM_Layout,
(FMethod) Gad_HandleEvent, NULL, FM_HandleEvent,
NULL
};
static struct TagItem Tags[] =
{
FA_Class_Super, (ULONG) FC_Area,
FA_Class_LODSize, (ULONG) sizeof (struct GAD_LocalObjectData),
FA_Class_MethodsTable, (ULONG) Handlers,
TAG_DONE
};
if (GadgetClass = F_CreateClassA(Tags))
{
FC_Area_Offset = GadgetClass -> Super -> Offset;
FC_Gadget_Offset = GadgetClass -> Offset;
return TRUE;
}
return FALSE;
}
//+
///QUERY
F_QUERY()
{
FeelinBase = Feelin;
switch (Which)
{
case FV_Query_ClassTags:
{
static struct FeelinMethodEntry Handlers[] =
{
(FMethod) Shade_New, NULL, FM_New,
(FMethod) Shade_Get, NULL, FM_Get,
(FMethod) Shade_Setup, NULL, FM_Setup,
(FMethod) Shade_Cleanup, NULL, FM_Cleanup,
(FMethod) Shade_Show, NULL, FM_Show,
(FMethod) Shade_Layout, NULL, FM_Layout,
(FMethod) Shade_Draw, NULL, FM_Draw,
(FMethod) Shade_GoActive, NULL, FM_GoActive,
(FMethod) Shade_GoInactive, NULL, FM_GoInactive,
NULL
};
static struct TagItem Tags[] =
{
FA_Class_Super, (ULONG) FC_Decorator,
FA_Class_LODSize, (ULONG) sizeof (struct LocalObjectData),
FA_Class_MethodsTable, (ULONG) Handlers,
FA_Class_Init, (ULONG) FCC_Init,
FA_Class_Exit, (ULONG) FCC_Exit,
TAG_DONE
};
return Tags;
}
}
return NULL;
}
//+